<?php

/**
 * App
 *
 * @package App
 * @subpackage page
 */
require_once 'App.php';

/**
 * * Admin_User_Index
 *
 * <pre>ユーザ一覧
 * </pre>
 *
 * @package     App
 * @subpackage  page
 * @author      $Author: moriwaki $
 * @version     $Id: 2008-09-30 moriwaki $
 */
class Admin_User_Index extends App_Page
{
    /**
     * 認証タイプ
     *
     * @var string
     */
    var $auth = App::AUTH_TOOL;
    
    /**
     * onInit
     *
     * @return void
     * @author moriwaki
     */
    function onInit($args)
    {
		$this->buildForm();
		
        $params = array();
        $params['mode'] = 'list';
		if ($args['type'] = 'nickname') {
			$params['nickname'] = $args['q'];
		}else{
			$params['mailaddress'] = $args['q'];
		}
        $params['limit'] = 50;
        $resource = new BEAR_Resource('user/profile');
        $resource->read($params);
        $view['entries'] = $resource->getResult();
        $pager = $resource->getPager();

		$form = & BEAR_Form::getInstance();
		$form->setDefaults($args);
		
        /* セット */
        $this->set('view', $view);
        $this->set('pager', $pager);
	}

	function onAction($submit)
	{
		$url = '/admin/user/?q='.urlencode($submit['q']);
		$url .= '&type='.urlencode($submit['type']);
		BEAR_Page::redirect($url);
	}
    /**
     * 共通フォーム
     *
     * @return void
     * @author moriwaki
     */
    private function buildForm()
    {
		$type = array('nickname'=>'ニックネーム', 'mail'=>'メールアドレス');
        $form = & BEAR_Form::getInstance();
        //  フォームインプットフィールド    
        $form->addElement('submit', '_submit', '検索', '');
		$form->addElement('text', 'q', 'キーワード', 'size=30 maxlength=255');
		$form->addElement('select', 'type', 'タイプ', $type);
        // フィルタと検証ルール
        $form->applyFilter('__ALL__', 'trim');
    }
}

new BEAR_Main('Admin_User_Index');
